(Line)APX_screenchange {exch pop} (Rhomboid)APX_screenchange {abs exch abs .9 mul add 2 div} (Diamond)APX_screenchange {abs exch abs 2 copy add .75 le{dup mul exch dup mul add 1 exch sub}{2 copy add 1.25 le{.85 mul add 1 exch sub}{1 sub dup mul exch 1 sub dup mul add 1 sub}ifelse}ifelse} (-) 3{pop}repeat (Euclidean)APX_screenchange {abs exch abs 2 copy add 1 gt{1 sub dup mul exch 1 sub dup mul add 1 sub}{dup mul exch dup mul add 1 exch sub}ifelse} (Elliptical Inverse)APX_screenchange {dup mul .9 mul exch dup mul add 1 sub} (Elliptical)APX_screenchange {dup mul .9 mul exch dup mul add 1 exch sub} (Double Inverse)APX_screenchange exch 2 div exch{2{360 mul sin 2 div exch}repeat add neg} (Double)APX_screenchange exch 2 div exch{2{360 mul sin 2 div exch}repeat add} (Round Inverse)APX_screenchange {dup mul exch dup mul add 1 sub} (Round)APX_screenchange {dup mul exch dup mul add 1 exch sub} (-) 3{pop}repeat (Default)APX_screenchange currentscreen 3 1 roll pop pop dup type/dicttype eq{/SpotFunction get}if